package com.taijihuabao.modules.entity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.taijihuabao.common.commonutils.LongToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/**
 * 审批业务实体类
 * @author wang
 */
@Data
@EqualsAndHashCode(callSuper=false)
@ToString(callSuper = true)
@ApiModel("请假业务历史实体类")
public class LeaveBusinessEntity extends BaseEntity {
    /**
     * 物理主键
     */
    @ApiModelProperty(value = "物理主键")
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long id;

    /**
     * 业务主键
     */
    @ApiModelProperty(value = "业务主键")
    private String businessId;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 持续时间（时长）
     */
    @ApiModelProperty(value = "持续时间（时长）")
    private String duration;

    /**
     * 业务类型
     */
    @ApiModelProperty(value = "业务类型")
    private String applyType;

    /**
     * 申请编码（业务从表业务主键）
     */
    @ApiModelProperty(value = "申请编码（业务从表业务主键）")
    private String applyCode;

    /**
     * 申请内容（原因）
     */
    @ApiModelProperty(value = "申请内容（原因）")
    private String applyContent;

    /**
     * 申请备注
     */
    @ApiModelProperty(value = "申请备注")
    private String applyRemarks;

    /**
     * 请假证明
     */
    @ApiModelProperty(value = "请假证明")
    private String applyProve;

}
